On the Inherently Speculative Nature of Nondeterministic And-Parallelism
نویسنده
چکیده
proposed parallel execution model. This aspect concerns whether the model is to return: 1) one and only one answer to a query, regardless of how many exist, 2) any number of answers perhaps even all, but only one at a time, or 3) all answers to a query all at once. In Horn-clause logic programming, it is necessary for all subgoals in a clause to succeed for the clause itself to succeed. As a result, many models of and-parallel execution of logic clauses have generally considered it desirable to execute as many subgoals as possible in parallel. Contributing to this idea has been the belief that and-parallelism is not speculative, as is or-parallelism. This is, unfortunately, not true. This paper shows that "don't know" and-parallelism does exhibit speculative parallelism; it is in fact inherently speculative. Due to its speculative nature, executing subgoals in parallel can lead to superlinear speedups in a regular manner. Unfortunately, its speculative nature can also lead to serious slowdown rather than to speedup. Examples of scheduling activities which would be considered quite normal (even desirable) in non-speculative parallel systems are described and shown to be able to lead to slowdown. A "Slowdown Prevention Rule" is then described which, if adhered to, can ensure the absence of slowdown, or to at least bound its damage. Several additional aspects of speculative parallelism are also discussed. Models of the first type are "single solution" models; they exhibit "don't care" nondeterminism [Kowalski]; and they are typified by "committed choice", concurrent logic programming languages [Shapiro]. The second type are "any solution" (or, "many solutions") models; these models all exhibit "don't know nondeterminism" [Kowalski]. Parallel versions of sequential logic programming models, such as parallel Prologs, are included in this second type. Models of the third type are called "all solutions" models. These "all solutions" models have frequently been pursued for use in database query and/or implementation models, especially expert or knowledge data bases [Kerschberg]. This paper is concerned with the second type of parallel execution models — "any solution", "don't-know" parallel execution models. These models may exhibit andparallelism, or-parallelism, or both [Conery]. While both have proven useful, it has generally been felt that andparallelism was much better suited for highly deterministic programs. It has also been widely believed that, unlike orparallelism, and-parallelism in logic programs does not exhibit speculative computation (see [Tick], for example).
منابع مشابه
Hints based Speculative Execution for Exploiting Probabilistic Parallelism
Performance growth of processors will depend on the amount of parallelism exposed by software; at the same time, many algorithms are inherently sequential: they have dependencies that prevent parallelism from being automatically exploited. In this paper we describe a new type of parallelism called probabilistic parallelism that can be unlocked in inherently sequential programs using speculative...
متن کاملTowards a new model of speculative bubbles: nonparametric test with an application to the Tunisian Stock Index
Bubbles in asset prices have fascinated researchers in finance. Identify asset bubbles, by circumstances, on the stock market has been a growing number of research theoretical and empirical. On a theoretical level, it was assumed that the price dynamics reflect irrational behavior of economic agents and, therefore, should be excluded from a deal with the truly rational economic agents Burmeiste...
متن کاملAutomatic Tuning of the Parallelism Degree in Hardware Transactional Memory
Transactional Memory (TM) is an emerging paradigm that promises to ease the development of parallel applications. Due to its inherently speculative nature, however, TM can suffer of performance degradations in presence of conflict intensive workloads. A key technique to tackle this issue consists in dynamically regulating the number of concurrent threads, which allows for selecting the concurre...
متن کاملPaclib | a System for Parallel Algebraic Computation on Shared Memory Multiprocessors
This paper gives an overview on the structure and the use of Paclib, a new system for parallel algebraic computation on shared memory computers. Paclib has been developed as a professional tool for the simple design and eecient implementation of parallel algorithms in computer algebra and related areas. It provides concurrency, shared memory communication , non-determinism, speculative parallel...
متن کاملThe Effects of Economic Sanctions and Speculative Attacks on Inflation
This paper surveys the persian monetary crises due to economic sanctions and speculative attacks that leads to high inflation. Economic sanctions are associated with various forms of trade barriers and restriction on financial transactions. Among the most influential sanctions on Iran's oil export and central bank sanctions are noted that their Aims to reduce Iran's oil revenues and Devaluation...
متن کامل